/* 
 * File:   VentanaJuego.h
 * Author: nahuel
 *
 * Created on November 3, 2012, 3:07 PM
 */

#ifndef VENTANAJUEGO_H
#define	VENTANAJUEGO_H

#include <gtkmm-3.0/gtkmm/drawingarea.h>
#include <string>
#include "Mutex.h"

#include "Dibujador.h"
#include "Partida.h"
#include "../Cliente/Cliente.h"

using namespace std;
using namespace TP::Juego;
using namespace TP::Juego::Arena::Actores;
using namespace TP::Comunicacion;
using namespace TP::Threading;

class VentanaJuego : public Gtk::DrawingArea {
	private:	
		Dibujador* _dibujador;
		Cliente* _cliente;
		Partida* _partida;
		Mutex _mutex;

	protected:
		virtual bool on_draw(const Cairo::RefPtr<Cairo::Context>& context);
		virtual bool on_timeout();
		virtual bool on_button_press_event(GdkEventButton* event);

	public:
		VentanaJuego(Cliente* cliente, float fps);
		void SetImagenPajaro(std::string pathImagen);
		void SetImagenCerdito(std::string pathImagen);
		void SetImagenFondo(std::string pathImagen);
		void SetPartida(Partida* partida);
		virtual ~VentanaJuego();	
};

#endif	/* VENTANAJUEGO_H */